package com.battery.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.battery.common.annotation.Excel;
import com.battery.common.core.domain.BaseEntity;
import tk.mybatis.mapper.annotation.KeySql;

import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 项目对象 ws_project
 *
 * @author battery
 * @date 2021-01-20
 */
@Table(name = "ws_project")
public class Project {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @Id
    @KeySql(useGeneratedKeys = true)
    private String id;

    /**
     * 项目名
     */
    @Excel(name = "项目名")
    private String projectName;

    /**
     * 押金
     */
    @Excel(name = "押金")
    private BigDecimal deposit;

    /**
     * 可提现金额
     */
    @Excel(name = "可提现金额")
    private BigDecimal cashoutMoney;

    /**
     * 公司名
     */
    @Excel(name = "公司名")
    private String company;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remarks;

    /**
     * 是否删除
     */
    @Excel(name = "是否删除")
    private Integer isDelete;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    private BigDecimal totalRevenue;


    private BigDecimal frozenMoney;


    private BigDecimal extractMoney;


    private BigDecimal notDeployedMoney;


    public BigDecimal getNotDeployedMoney() {
        return notDeployedMoney;
    }

    public void setNotDeployedMoney(BigDecimal notDeployedMoney) {
        this.notDeployedMoney = notDeployedMoney;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setCashoutMoney(BigDecimal cashoutMoney) {
        this.cashoutMoney = cashoutMoney;
    }

    public BigDecimal getCashoutMoney() {
        return cashoutMoney;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getCompany() {
        return company;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() {
        return isDelete;
    }


    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }


    public BigDecimal getTotalRevenue() {
        return totalRevenue;
    }

    public void setTotalRevenue(BigDecimal totalRevenue) {
        this.totalRevenue = totalRevenue;
    }

    public BigDecimal getFrozenMoney() {
        return frozenMoney;
    }

    public void setFrozenMoney(BigDecimal frozenMoney) {
        this.frozenMoney = frozenMoney;
    }


    public BigDecimal getExtractMoney() {
        return extractMoney;
    }

    public void setExtractMoney(BigDecimal extractMoney) {
        this.extractMoney = extractMoney;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projectName", getProjectName())
                .append("deposit", getDeposit())
                .append("cashoutMoney", getCashoutMoney())
                .append("company", getCompany())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("remarks", getRemarks())
                .append("isDelete", getIsDelete())
                .toString();
    }
}
